package com.snapan.dao;

import com.snapan.entity.FileBase;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 文件基础信息表数据访问接口
 */
public interface FileBaseDao {

    /**
     * 根据ID查询
     */
    FileBase selectById(Long id);

    /**
     * 查询所有
     */
    List<FileBase> selectAll();

    /**
     * 插入
     */
    int insert(FileBase filebase);

    /**
     * 更新
     */
    int update(FileBase filebase);

    /**
     * 根据ID删除
     */
    int deleteById(Long id);

    /**
     * 检查MD5码是否存在
     */
    FileBase checkUpload(FileBase filebase);

    /**
     * 检查具体存在哪些分片
     */
    List<Integer> checkUploadlist(Long id);

    /**
     * 根据MD5和文件大小查询文件
     */
    FileBase selectByMD5AndSize(@Param("fileMD5") String fileMD5, @Param("fileSize") Long fileSize);
}
